POV-Ray : Newsgroups : povray.binaries.images : My second TRON subject... : Re: My second TRON subject... Server Time
12 Aug 2024 01:34:27 EDT (-0400)
  Re: My second TRON subject...  
From: Carl Hoff
Date: 30 Jan 2004 10:09:35
Message: <401a73af@news.povray.org>
> You might try setting the threshold very small - say 3/256. That way,
> when the rays come back virtually identical (e.g., in the middle of
> those big flat grid squares ;-) POV-Ray won't bother with AA. But
> it should still do it for the bright red lines. Experiment!
(Theoretically,
> there's no point setting it below 1/256 - unless you increase the
> number of bits per pixel. Not sure if any hardware out there can
> display it though...)

Lets take the simple case.  If we have a flat blue background and our only
object is a very thin red cylinder, all the rays will come back blue except
the ones that the cylinder passes through.  Correct?  So if the test ray
comes back from a pixel that contained the cylinder put the test ray misses
the cylinder it will not know that it needs to perform the AA even if the
threshold is set at 1/256.  At least that was my thinking so I'm not sure I
follow your theoretical argument above.  I suspect I could render an image
with a threshold of 1/256 and again with 0 and with the right image you'd be
able to see a difference without any fancy hardware.  But yes I do need to
do more experimenting.  Its just slow going when it can take a week to
render one picture.

Ideally what I'd want to do I think is put a bounding box around the
cylinder that is atleast several pixels wide (at whatever the final
resolution is) and have a way to tell POV-Ray that any pixel that has a ray
that passes through that bounding box needs to use a given type of AA.  I'm
rather sure that isn't doable in atleast the current version.  It might be a
nice thing to suggest to the powers that be though as something to consider
adding.  As I've only been ray tracing a few months I really don't know if
that's a good suggestion or not to be honest.

> The thing to really watch out for is intersections of infinite planes,
> where the intersection is finite. POV-Ray currently can't work that
> out; if an intersection is between only infinite objects, POV-Ray
> assumes the resulting shape is infinite too - i.e., EVERY ray is
> tested against it! It the resulting object is actually small, manually
> bounding it will probably help quite a bit. (On the other hand,
> plane intersection tests aren't that slow to do... But they still add
> up. ;-)

I only have one infinite plane, which is the grid, and I don't have it
making any intersections with anything be it another plane or a finite
object.  However unless I'm missing something isn't the intersection between
two infinite planes always an infinite line.  And I don't think trying to
render that line would work.  You'd have to give it some width for it to
show up at all I think.

> IIRC, where you intersect an infinite object with a finite one,
> POV-Ray knows the result can't be infinite. Generally POV-Ray
> will use the smallest bounding volume to work out how big the
> result is. If you do add manual bounding, might need to set an
> option to tell POV-Ray not to ignore you. (IIRC it does that by
> default because older scenes tend to have this where they [now]
> don't need it.)
>
> Before I go, there's an option somewhere to turn on a useful little
> debug feature. It shows the bounding volumes graphically
> on-screen before it starts rendering. It will be real hard to work
> out which one belongs to which object, but might be vaguely
> usefull. Next time you render, try using the Draw_Vistas=on
> option. (You can read about it in the online help.)

Thanks, I will.  This sounds like a very useful feature.  Thanks for
pointing it out to me.

Carl


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.